]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
calendar-server: Notify HasCalendar changes when updating views
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 4 Jun 2020 20:14:15 +0000 (22:14 +0200)
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Fri, 5 Jun 2020 22:56:16 +0000 (22:56 +0000)
The HasCalendar property reflects whether there are any views, and views
change either when clients appear/disappear or when the time range changes.

However we currently only emit the PropertiesChanged signal for the former,
fix that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1300

src/calendar-server/gnome-shell-calendar-server.c

index 100b77b36bdaaaa0c3ec399d1a4d1fcccab23db5..b15b16785412bfd0ed33637382aa80fa27a38269 100644 (file)
@@ -721,6 +721,9 @@ static void
 app_update_views (App *app)
 {
   GSList *link, *clients;
+  gboolean had_views, has_views;
+
+  had_views = app->live_views != NULL;
 
   for (link = app->live_views; link; link = g_slist_next (link))
     {
@@ -745,6 +748,11 @@ app_update_views (App *app)
         app->live_views = g_slist_prepend (app->live_views, view);
     }
 
+  has_views = app->live_views != NULL;
+
+  if (has_views != had_views)
+    app_notify_has_calendars (app);
+
   g_slist_free_full (clients, g_object_unref);
 }